# 任务详情
# 采用Python自带的函数库进行数据操作，完成任务下方《爱丽丝梦游仙境》英文文本词频的分析。
# 请将右边的函数aliceText()补充完整，使其能够输出某个单词的词频。

# 任务要求
# 1. 不得直接使用Jieba库对文本进行分词

# 2. 函数aliceText()接收一个英文单词word，str数据类型；返回该单词的词频，int数据类型

# 3. 只保留单词长度大于等于3的单词的词频统计

# 4. 英文单词不区分大小写

# 5. 不同时态和单复数的英文单词为不同英文单词，不需要合并词频统计。如果文本中没有该单词，词频为0

# 6. 文本可以使用requests库进行读取，UTF-8编码方式，否则无法正确读取文本

# 测试用例
# 输入：'Pictures'        输出：3
# 输入：'nothing'        输出：13
# 输入：'caterpillar'     输出：14
# 输入：'python'          输出：0
# 
# 链接：http://72.itmc.org.cn:80/JS001/static/data/python/3030/76/fj_alice_adventure.txt
# 
# # 1.运行或提交代码不需要自己编写测试用例，后台自动进行测试检查。
# 2.您编写代码的区域可以不限定在类或者函数体内，保证输入与输出符合任务要求即可。
# 3.点击“运行代码”按钮，可以查看程序设计是否正确，运行次数越多，任务得分越低。
# 4.点击“提交代码”按钮，系统将保存代码，并记录任务数据。
# 5.点击右上方“结束任务”按钮，系统将在后台计算任务得分，任务结束。
# -*- coding: utf-8 -*- 
import re

import requests


class Solution:
    def aliceText(self, word: str) -> int:
        url = "http://72.itmc.org.cn:80/JS001/static/data/python/3030/76/fj_alice_adventure.txt"
        res = requests.get(url)
        res.encoding = "utf-8"
        data = res.text.lower()
        list1 = [i for i in data.splitlines()]
        sum = 0
        chars = ['"', ',', '.', ':', ';', '!', '(', ')', '?', '-']
        for i in list1:

            # 写法一
            i = re.sub(str(chars), " ", i)

            # 写法二
            # for t in chars:
            #     i = i.replace(t," ")

            x = i.split(" ")
            for j in x:
                if j == word.lower():
                    sum += 1
        return sum


print(Solution.aliceText(Solution, "taller"))
